package com.gxy.learn.design.principle.demeter_rule_principle;

/**
 * @description:
 * 迪米特法则又叫最少知识原则
 * 只和你的直接朋友交谈，不跟〝陌生人“说话 (Talk only to your inmediate friends ana not to strangers)
 * 其含义是：如果两个软件实体无须直接通信，那么就不应当发生直接的相互调用，可以通过第三方转发该调用。其目的是降低类之间的耜
 * 会度，提高模块的相对独立性。
 * 迪米特法则中的~朋友“是指：当前对象本身、当前对象的成员对象、当前对象所创建的对象、 当前对象的方法参数等，这些对象同当前对
 * 象存在关联、聚合或组台关系，可以直接访问这些对象的方法。
 *
 *【例】明星与经纪人的关系实例
 * 明星由于全身心投入艺术，所以许多日常事务由经纪人负责处理，如和粉丝的见面会，和媒体公司的业务洽淡等。这里的经纪人是明星的
 * 朋友，而粉丝和媒体公司是陌生人，所以适合使用迪米特法则。
 * @author: gaoxueyong
 * @Date: 2022/11/6 15:18
 */
public class DemeterRulePrincipleClient {

    public static void main(String[] args) {
//        创建经纪人类
        Agent agent = new Agent(new Star("周韦彤"),new Fans("李四"),new Company("明星经纪公司"));
        agent.business();
        agent.meeting();
    }
}
